import Loading from '../components/Loading.vue';
import Error from '../components/Error.vue';
import type { AsyncComponentOptions } from 'vue';
const modules: Record<string, () => Promise<any>> = import.meta.glob('../views/**/*.vue');
export const asyncView = (path: string) =>
    defineAsyncComponent<AsyncComponentOptions>({
        // 加载函数
        loader: modules[`../views/${path}.vue`],
        // 加载异步组件时使用的组件
        loadingComponent: Loading,
        // 展示加载组件前的延迟时间，默认为 200ms
        delay: 0,
        // 加载失败后展示的组件
        errorComponent: Error,
        // 如果提供了一个 timeout 时间限制，并超时了
        // 也会显示这里配置的报错组件，默认值是：Infinity
        timeout: 10000
    });
export const asyncCom = (path: string) =>
    defineAsyncComponent<AsyncComponentOptions>({
        // 加载函数
        loader: modules[`../views/${path}.vue`],
        // 加载异步组件时使用的组件
        loadingComponent: Loading,
        // 展示加载组件前的延迟时间，默认为 200ms
        delay: 0,
        // 加载失败后展示的组件
        errorComponent: Error,
        // 如果提供了一个 timeout 时间限制，并超时了
        // 也会显示这里配置的报错组件，默认值是：Infinity
        timeout: 10000
    });
